﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
// arr 是查找的数组
//left 数组的左下标
//right 数组的右下标
//key 要查找的数字
//写一个二分查找函数

//功能：在一个升序数组中查找指定的数值，找到了就返回下标，找不到就返回 - 1.
int bin_search(int arr[], int left, int right, int key)
{
	int mid = (right + left) / 2;
	int tmp = 0;
	while (left <= right)
	{
		if (arr[mid] == key)
		{
			return mid;
		}
		else if (arr[mid] < key)
		{
			left = mid + 1;
		}
		else
		{
			right = mid - 1;
		}
		mid = (right + left) / 2;
	}
	return -1;
}


int main1()
{

	int arr[] = { 11,22,33,44,55,66,77,88,99 };
	int sz = sizeof(arr) / sizeof(arr[0])-1;
	int key = 0;
	scanf("%d", &key);
	int i = bin_search(arr,0,sz,key);
	if (i == -1)
		printf("找不到\n");
	else
		printf("找到了,下标是:%d", i);

	return 0;
}

//实现一个函数，打印乘法口诀表，口诀表的行数和列数自己指定
//如：输入9，输出9 * 9口诀表，输出12，输出12 * 12的乘法口诀表。

void print_mul(int n)
{
	int i = 0;
	int j = 0;
	for (i = 1; i <= n; i++)
	{
		
		for (j = 1; j <= i ; j++)
		{
	
			printf("%2d*%2d = %2d  ", j, i, j * i);
	
		}
		printf("\n");
	}
}

int main2()
{
	int n = 0;
	scanf("%d", &n);
	print_mul(n);
	return 0;
}

//实现函数判断year是不是润年。

int is_leap(int year)
{
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
	{
		return 1;
	}
	
	return 0;
}

int main3()
{
	int year = 0;
	scanf("%d", &year);
	if (is_leap(year))
	{
		printf("是闰年\n");
	}
	else
	{
		printf("不是闰年\n");
	}
	return 0;
}

#include <stdbool.h>
#include <math.h>
//实现一个函数is_prime，判断一个数是不是素数。
//利用上面实现的is_prime函数，打印100到200之间的素数。
bool is_prime(int n)
{
	int i = 0;
	for (i = 2; i <= sqrt(n); i++)
	{
		if (n % i == 0)
			return false;
	}
	return true;
}

int main4()
{
	int i = 0;
	for (i = 100; i < 201; i++)
	{
		if (is_prime(i))
		{
			printf("%d ", i);
		}
	}
	return 0;
}

//创建一个整形数组，完成对数组的操作
//
//实现函数init() 初始化数组为全0
//实现print()  打印数组的每个元素
//实现reverse()  函数完成数组元素的逆置。
//要求：自己设计以上函数的参数，返回值。
//注意打的是数组内容而不要打数组下标
void init(int arr[],int sz)
{
	int i = 0;
	for (i=0; i < sz; i++)
	{
		arr[i] = 0;
	}
}

void print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}

void reverse(int arr[], int sz)
{
	int l = 0;
	int r = sz - 1;
	while (l <= r)
	{
		int tmp = arr[l];
		arr[l] = arr[r];
		arr[r] = tmp;
		l++;
		r--;
	}
}

//int main4()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9 };
//	int sz = sizeof(arr)/sizeof(arr[0]);
//	print(arr, sz);
//	reverse(arr, sz);
//	print(arr, sz);
//	init(arr, sz);
//	print(arr, sz);
//
//	return 0;
//}


////判断⼀年是不是闰年
//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//int main()
//{
//	int y = 0;
//	scanf("%d", &y);
//	int r = is_leap_year(y);
//	if (r == 1)
//		printf("闰年\n");
//	else
//		printf("⾮闰年\n");
//	return 0;
//}

//int main()
//{
//	int y = 0;
//	scanf("%d", &y);
//	int r = is_leap_year(y);
//	if (r == 1)
//		printf("闰年\n");
//	else
//		printf("⾮闰年\n");
//
//	
//		return 0;
//}
////判断⼀年是不是闰年
//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}

#include "add.h"
int main()
{
	int a = 10;
	int b = 20;
	printf("%d\n", Add(a, b));
	return 0;
}